package com.ruoyi.classes.service.impl;

import java.util.List;

import com.ruoyi.classes.domain.vo.ClassUserVo;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.classes.mapper.TClassUserMapper;
import com.ruoyi.classes.domain.TClassUser;
import com.ruoyi.classes.service.ITClassUserService;
import org.springframework.transaction.annotation.Transactional;

/**
 * 班级用户连接Service业务层处理
 *
 * @author Bandit
 * @date 2022-11-01
 */
@Service
public class TClassUserServiceImpl implements ITClassUserService
{
    @Autowired
    private TClassUserMapper tClassUserMapper;

    /**
     * 查询班级用户连接
     *
     * @param classId 班级用户连接主键
     * @return 班级用户连接
     */
    @Override
    public TClassUser selectTClassUserByClassId(Long classId)
    {
        return tClassUserMapper.selectTClassUserByClassId(classId);
    }

    @Override
    public ClassUserVo selectClassUserVoByTClassUser(TClassUser tClassUser) {
        return tClassUserMapper.selectClassUserVoByTClassUser(tClassUser);
    }

    @Override
    public List<ClassUserVo> selectClassUserVoList(ClassUserVo classUserVo) {
        return tClassUserMapper.selectClassUserVoList(classUserVo);
    }

    /**
     * 查询班级用户连接列表
     *
     * @param tClassUser 班级用户连接
     * @return 班级用户连接
     */
    @Override
    public List<TClassUser> selectTClassUserList(TClassUser tClassUser)
    {
        return tClassUserMapper.selectTClassUserList(tClassUser);
    }

    /**
     * 新增班级用户连接
     *
     * @param tClassUser 班级用户连接
     * @return 结果
     */
    @Override
    public int insertTClassUser(TClassUser tClassUser)
    {
        return tClassUserMapper.insertTClassUser(tClassUser);
    }

    /**
     * 修改班级用户连接
     *
     * @param tClassUser 班级用户连接
     * @return 结果
     */
    @Override
    public int updateTClassUser(TClassUser tClassUser)
    {
        return tClassUserMapper.updateTClassUser(tClassUser);
    }

    /**
     * 批量删除班级用户连接
     *
     * @param classIds 需要删除的班级用户连接主键
     * @return 结果
     */
    @Override
    public int deleteTClassUserByClassClassUserList(List<TClassUser> classUserList)
    {
        return tClassUserMapper.deleteTClassUserByClassClassUserList(classUserList);
    }

    /**
     * 删除班级用户连接信息
     *
     * @param classId 班级用户连接主键
     * @return 结果
     */
    @Override
    public int deleteTClassUserByClassId(Long classId)
    {
        return tClassUserMapper.deleteTClassUserByClassId(classId);
    }

    @Override
    public List<SysUser> selectUnlistedListByClassId(Long classId) {
        return tClassUserMapper.selectUnlistedListByClassId(classId);
    }

    @Override
    @Transactional
    public int insertTClassUserBatch(List<TClassUser> tClassUserList) {
        for (TClassUser classUser : tClassUserList) {
            tClassUserMapper.insertTClassUser(classUser);
        }
        return tClassUserList.size();
    }
}
